From 0c2240ba379ceb5f3773171cc80a8c640f34e839 Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Sun, 2 Jul 2000 22:30:54 +0000 Subject: [PATCH] Add a 'text' argument to set the initial text. Sun Jul 2 18:19:50 2000 Owen Taylor * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to set the initial text. * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c gtk/gtkvscale.c: Adapt to new argument of create_pango_layout(). * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new pango_layout_set_font_description to simplify. --- ChangeLog | 13 +++++++++++++ ChangeLog.pre-2-0 | 13 +++++++++++++ ChangeLog.pre-2-10 | 13 +++++++++++++ ChangeLog.pre-2-2 | 13 +++++++++++++ ChangeLog.pre-2-4 | 13 +++++++++++++ ChangeLog.pre-2-6 | 13 +++++++++++++ ChangeLog.pre-2-8 | 13 +++++++++++++ gtk/gtkaccellabel.c | 6 ++---- gtk/gtkcalendar.c | 14 +++++--------- gtk/gtkclist.c | 9 ++++----- gtk/gtkentry.c | 2 +- gtk/gtkhruler.c | 3 +-- gtk/gtkhscale.c | 4 +--- gtk/gtklabel.c | 5 ++--- gtk/gtkprogressbar.c | 6 ++---- gtk/gtkscale.c | 2 +- gtk/gtkvruler.c | 3 +-- gtk/gtkvscale.c | 3 +-- gtk/gtkwidget.c | 7 ++++++- gtk/gtkwidget.h | 7 ++++--- 20 files changed, 122 insertions(+), 40 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2026ddbab2..f7a675fa3d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +Sun Jul 2 18:19:50 2000 Owen Taylor + + * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to + set the initial text. + + * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c + gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c + gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c + gtk/gtkvscale.c: Adapt to new argument of create_pango_layout(). + + * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new + pango_layout_set_font_description to simplify. + Sun Jul 2 17:43:41 2000 Owen Taylor * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 2026ddbab2..f7a675fa3d 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,16 @@ +Sun Jul 2 18:19:50 2000 Owen Taylor + + * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to + set the initial text. + + * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c + gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c + gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c + gtk/gtkvscale.c: Adapt to new argument of create_pango_layout(). + + * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new + pango_layout_set_font_description to simplify. + Sun Jul 2 17:43:41 2000 Owen Taylor * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 2026ddbab2..f7a675fa3d 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,16 @@ +Sun Jul 2 18:19:50 2000 Owen Taylor + + * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to + set the initial text. + + * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c + gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c + gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c + gtk/gtkvscale.c: Adapt to new argument of create_pango_layout(). + + * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new + pango_layout_set_font_description to simplify. + Sun Jul 2 17:43:41 2000 Owen Taylor * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 2026ddbab2..f7a675fa3d 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,16 @@ +Sun Jul 2 18:19:50 2000 Owen Taylor + + * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to + set the initial text. + + * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c + gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c + gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c + gtk/gtkvscale.c: Adapt to new argument of create_pango_layout(). + + * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new + pango_layout_set_font_description to simplify. + Sun Jul 2 17:43:41 2000 Owen Taylor * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 2026ddbab2..f7a675fa3d 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,16 @@ +Sun Jul 2 18:19:50 2000 Owen Taylor + + * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to + set the initial text. + + * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c + gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c + gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c + gtk/gtkvscale.c: Adapt to new argument of create_pango_layout(). + + * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new + pango_layout_set_font_description to simplify. + Sun Jul 2 17:43:41 2000 Owen Taylor * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 2026ddbab2..f7a675fa3d 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,16 @@ +Sun Jul 2 18:19:50 2000 Owen Taylor + + * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to + set the initial text. + + * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c + gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c + gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c + gtk/gtkvscale.c: Adapt to new argument of create_pango_layout(). + + * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new + pango_layout_set_font_description to simplify. + Sun Jul 2 17:43:41 2000 Owen Taylor * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 2026ddbab2..f7a675fa3d 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,16 @@ +Sun Jul 2 18:19:50 2000 Owen Taylor + + * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to + set the initial text. + + * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c + gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c + gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c + gtk/gtkvscale.c: Adapt to new argument of create_pango_layout(). + + * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new + pango_layout_set_font_description to simplify. + Sun Jul 2 17:43:41 2000 Owen Taylor * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c index 36a2610073..000432a437 100644 --- a/gtk/gtkaccellabel.c +++ b/gtk/gtkaccellabel.c @@ -242,8 +242,7 @@ gtk_accel_label_size_request (GtkWidget *widget, if (GTK_WIDGET_CLASS (parent_class)->size_request) GTK_WIDGET_CLASS (parent_class)->size_request (widget, requisition); - layout = gtk_widget_create_pango_layout (widget); - pango_layout_set_text (layout, accel_label->accel_string, -1); + layout = gtk_widget_create_pango_layout (widget, accel_label->accel_string); pango_layout_get_pixel_size (layout, &width, NULL); accel_label->accel_string_width = width; @@ -288,8 +287,7 @@ gtk_accel_label_expose_event (GtkWidget *widget, (widget->requisition.height - misc->ypad * 2)) * misc->yalign) + 1.5; - layout = gtk_widget_create_pango_layout (widget); - pango_layout_set_text (layout, accel_label->accel_string, -1); + layout = gtk_widget_create_pango_layout (widget, accel_label->accel_string); if (GTK_WIDGET_STATE (accel_label) == GTK_STATE_INSENSITIVE) gdk_draw_layout (widget->window, diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index 3442dc5ed4..45208c8c2b 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -1168,7 +1168,7 @@ gtk_calendar_size_request (GtkWidget *widget, calendar = GTK_CALENDAR (widget); private_data = GTK_CALENDAR_PRIVATE_DATA (widget); - layout = gtk_widget_create_pango_layout (widget); + layout = gtk_widget_create_pango_layout (widget, NULL); /* * Calculate the requisition width for the widget. @@ -1561,10 +1561,8 @@ gtk_calendar_paint_header (GtkWidget *widget) 0, 0, header_width, private_data->header_h); - layout = gtk_widget_create_pango_layout (widget); - sprintf (buffer, "%d", calendar->year); - pango_layout_set_text (layout, buffer, -1); + layout = gtk_widget_create_pango_layout (widget, buffer); pango_layout_get_pixel_extents (layout, NULL, &logical_rect); /* Draw title */ @@ -1668,7 +1666,7 @@ gtk_calendar_paint_day_names (GtkWidget *widget) * Write the labels */ - layout = gtk_widget_create_pango_layout (widget); + layout = gtk_widget_create_pango_layout (widget, NULL); gdk_gc_set_foreground (gc, &widget->style->fg[GTK_STATE_SELECTED]); for (i = 0; i < 7; i++) @@ -1752,7 +1750,7 @@ gtk_calendar_paint_week_numbers (GtkWidget *widget) * Write the labels */ - layout = gtk_widget_create_pango_layout (widget); + layout = gtk_widget_create_pango_layout (widget, NULL); gdk_gc_set_foreground (gc, &widget->style->fg[GTK_STATE_SELECTED]); day_height = row_height (calendar); @@ -1900,10 +1898,8 @@ gtk_calendar_paint_day (GtkWidget *widget, } - layout = gtk_widget_create_pango_layout (widget); - sprintf (buffer, "%d", day); - pango_layout_set_text (layout, buffer, -1); + layout = gtk_widget_create_pango_layout (widget, buffer); pango_layout_get_pixel_extents (layout, NULL, &logical_rect); x_loc -= logical_rect.width; diff --git a/gtk/gtkclist.c b/gtk/gtkclist.c index 0964c273c1..3eef07c79b 100644 --- a/gtk/gtkclist.c +++ b/gtk/gtkclist.c @@ -2500,7 +2500,6 @@ _gtk_clist_create_cell_layout (GtkCList *clist, GtkCListRow *clist_row, gint column) { - PangoContext *context; PangoLayout *layout; GtkStyle *style; GtkCell *cell; @@ -2522,11 +2521,11 @@ _gtk_clist_create_cell_layout (GtkCList *clist, if (!text) return NULL; - layout = gtk_widget_create_pango_layout (GTK_WIDGET (clist)); + layout = gtk_widget_create_pango_layout (GTK_WIDGET (clist), + ((cell->type == GTK_CELL_PIXTEXT) ? + GTK_CELL_PIXTEXT (*cell)->text : + GTK_CELL_TEXT (*cell)->text)); pango_layout_set_font_description (layout, style->font_desc); - pango_layout_set_text (layout, ((cell->type == GTK_CELL_PIXTEXT) ? - GTK_CELL_PIXTEXT (*cell)->text : - GTK_CELL_TEXT (*cell)->text), -1); return layout; diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 991843f2a5..9a3a1948a6 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -1165,7 +1165,7 @@ gtk_entry_ensure_layout (GtkEntry *entry) if (!entry->layout) { - entry->layout = gtk_widget_create_pango_layout (widget); + entry->layout = gtk_widget_create_pango_layout (widget, NULL); pango_layout_set_text (entry->layout, entry->text, entry->n_bytes); } } diff --git a/gtk/gtkhruler.c b/gtk/gtkhruler.c index 7f5ee26b39..1a35fea71b 100644 --- a/gtk/gtkhruler.c +++ b/gtk/gtkhruler.c @@ -172,8 +172,7 @@ gtk_hruler_draw_ticks (GtkRuler *ruler) digit_height = PANGO_PIXELS (ink_rect.height) + 2; digit_offset = ink_rect.y; - layout = gtk_widget_create_pango_layout (widget); - pango_layout_set_text (layout, "012456789", -1); + layout = gtk_widget_create_pango_layout (widget, "012456789"); pango_layout_get_extents (layout, &ink_rect, &logical_rect); digit_height = PANGO_PIXELS (ink_rect.height) + 1; diff --git a/gtk/gtkhscale.c b/gtk/gtkhscale.c index 5b5cfa7119..ec1c29d30f 100644 --- a/gtk/gtkhscale.c +++ b/gtk/gtkhscale.c @@ -525,9 +525,7 @@ gtk_hscale_draw_value (GtkScale *scale) PangoRectangle logical_rect; sprintf (buffer, "%0.*f", GTK_RANGE (scale)->digits, GTK_RANGE (scale)->adjustment->value); - - layout = gtk_widget_create_pango_layout (widget); - pango_layout_set_text (layout, buffer, -1); + layout = gtk_widget_create_pango_layout (widget, buffer); pango_layout_get_pixel_extents (layout, NULL, &logical_rect); switch (scale->value_pos) diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 31e74abf60..21c08f8f5d 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -400,12 +400,11 @@ gtk_label_size_request (GtkWidget *widget, PangoAlignment align = PANGO_ALIGN_LEFT; /* Quiet gcc */ PangoAttrList *attrs = gtk_label_pattern_to_attrs (label); - label->layout = gtk_widget_create_pango_layout (widget); + label->layout = gtk_widget_create_pango_layout (widget, label->label); + pango_layout_set_attributes (label->layout, attrs); pango_attr_list_unref (attrs); - pango_layout_set_text (label->layout, label->label, -1); - switch (label->jtype) { case GTK_JUSTIFY_LEFT: diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c index 770dbe9efe..e1db4c6b93 100644 --- a/gtk/gtkprogressbar.c +++ b/gtk/gtkprogressbar.c @@ -363,8 +363,7 @@ gtk_progress_bar_size_request (GtkWidget *widget, { buf = gtk_progress_get_text_from_value (progress, progress->adjustment->upper); - layout = gtk_widget_create_pango_layout (widget); - pango_layout_set_text (layout, buf, -1); + layout = gtk_widget_create_pango_layout (widget, buf); pango_layout_get_pixel_extents (layout, NULL, &logical_rect); g_object_unref (G_OBJECT (layout)); @@ -710,8 +709,7 @@ gtk_progress_bar_paint (GtkProgress *progress) buf = gtk_progress_get_current_text (progress); - layout = gtk_widget_create_pango_layout (widget); - pango_layout_set_text (layout, buf, -1); + layout = gtk_widget_create_pango_layout (widget, buf); pango_layout_get_pixel_extents (layout, NULL, &logical_rect); x = widget->style->xthickness + 1 + diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c index a23b816142..2aa5483f4f 100644 --- a/gtk/gtkscale.c +++ b/gtk/gtkscale.c @@ -280,7 +280,7 @@ gtk_scale_get_value_size (GtkScale *scale, range = GTK_RANGE (scale); - layout = gtk_widget_create_pango_layout (GTK_WIDGET (scale)); + layout = gtk_widget_create_pango_layout (GTK_WIDGET (scale), NULL); value = ABS (range->adjustment->lower); if (value == 0) value = 1; diff --git a/gtk/gtkvruler.c b/gtk/gtkvruler.c index 1d9266be37..74567f8d3b 100644 --- a/gtk/gtkvruler.c +++ b/gtk/gtkvruler.c @@ -167,8 +167,7 @@ gtk_vruler_draw_ticks (GtkRuler *ruler) xthickness = widget->style->xthickness; ythickness = widget->style->ythickness; - layout = gtk_widget_create_pango_layout (widget); - pango_layout_set_text (layout, "012456789", -1); + layout = gtk_widget_create_pango_layout (widget, "012456789"); pango_layout_get_extents (layout, &ink_rect, &logical_rect); digit_height = PANGO_PIXELS (ink_rect.height) + 2; diff --git a/gtk/gtkvscale.c b/gtk/gtkvscale.c index dd5782846d..b69f1c1761 100644 --- a/gtk/gtkvscale.c +++ b/gtk/gtkvscale.c @@ -530,8 +530,7 @@ gtk_vscale_draw_value (GtkScale *scale) sprintf (buffer, "%0.*f", GTK_RANGE (scale)->digits, GTK_RANGE (scale)->adjustment->value); - layout = gtk_widget_create_pango_layout (widget); - pango_layout_set_text (layout, buffer, strlen (buffer)); + layout = gtk_widget_create_pango_layout (widget, buffer); pango_layout_get_pixel_extents (layout, NULL, &logical_rect); switch (scale->value_pos) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 37d134b668..65735a6b1a 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -3293,6 +3293,7 @@ gtk_widget_create_pango_context (GtkWidget *widget) /** * gtk_widget_create_pango_layout: * @widget: a #PangoWidget + * @text: text to set on the layout (can be %NULL) * * Create a new #PangoLayout with the appropriate colormap, * font description, and base direction for drawing text for @@ -3306,7 +3307,8 @@ gtk_widget_create_pango_context (GtkWidget *widget) * Return value: the new #PangoLayout **/ PangoLayout * -gtk_widget_create_pango_layout (GtkWidget *widget) +gtk_widget_create_pango_layout (GtkWidget *widget, + const gchar *text) { PangoLayout *layout; PangoContext *context; @@ -3316,6 +3318,9 @@ gtk_widget_create_pango_layout (GtkWidget *widget) context = gtk_widget_get_pango_context (widget); layout = pango_layout_new (context); + if (text) + pango_layout_set_text (layout, text, -1); + return layout; } diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index c85dfd5537..a10d20b59d 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -575,9 +575,10 @@ void gtk_widget_restore_default_style (GtkWidget *widget); void gtk_widget_modify_style (GtkWidget *widget, GtkRcStyle *style); -PangoContext *gtk_widget_create_pango_context (GtkWidget *widget); -PangoContext *gtk_widget_get_pango_context (GtkWidget *widget); -PangoLayout *gtk_widget_create_pango_layout (GtkWidget *widget); +PangoContext *gtk_widget_create_pango_context (GtkWidget *widget); +PangoContext *gtk_widget_get_pango_context (GtkWidget *widget); +PangoLayout *gtk_widget_create_pango_layout (GtkWidget *widget, + const gchar *text); /* handle composite names for GTK_COMPOSITE_CHILD widgets, * the returned name is newly allocated. -- 2.30.2